/*
 * anima/pc/firmware.hh - PC-specific firmware interface.
 * Copyright (C) 2007  Mikhail Vorozhtsov
 * See the LICENSE section of the README file for details.
 */

/* $Id$ */

#ifndef HEADER_ANIMA_PC_FIRMWARE_HH
#define HEADER_ANIMA_PC_FIRMWARE_HH

START_NAMESPACE2 (anima,pc)

class firmware
{
public:
  struct region_t
  {
  public:
    enum type_t
    {
      TYPE_IO = 0,
      TYPE_AVAILABLE = 1,
      TYPE_RESERVED = 2,
      TYPE_ACPI_RECLAIM = 3,
      TYPE_ACPI_NVS = 4,
      TYPE_UNUSABLE = 5
    };

  public:
    INLINE
    static bool
    acpi_p (type_t type)
    {
      return type == TYPE_RESERVED || type == TYPE_ACPI_RECLAIM
             || type == TYPE_ACPI_NVS;
    }
  };
};

END_NAMESPACE2

#endif /* HEADER_ANIMA_PC_FIRMWARE_HH */

